Blockchain technology is most widely known as the technology behind the popular cryptocurrency, Bitcoin. A blockchain creates a history of data deposits, messages, or transactions in a series of blocks where each block contains a mathematical summary, called a hash, of the previous block. This creates a chain where any changes made to a block will change that block's hash, which must be recomputed and stored in the next block. This changes the hash of the next block, which must also be recomputed and so on until the end of the chain.
Although the hash, or mathematical summary, is simple to compute, there are rules imposed which require the value of the hash to be below a certain threshold value. In addition, the hash is based on a special type of mathematical function that is not reversible; you cannot predict what input can be used to produce the desired output. A valid hash is found by repeatedly adjusting a changeable value in the block, and recalculating the hash until it meets the validity requirements. The freely changeable value is called the nonce. The unpredictable nature of the hash considerably increases the difficulty of finding a nonce that produces a valid hash of the block. Typically, trillions of different nonces must be tried before a valid hash is found. Therefore, changing the value of previously stored data in the blockchain is computationally expensive, although not impossible.
The security of a blockchain is further increased by implementing it on a distributed network. This means a large number of users all have access to the blockchain and are all attempting to add blocks to the end of the chain by finding a nonce that produces a valid hash for a given block of data. When two blocks are found that both claim to reference the same previous block, a fork in the chain is created. Some users in the network will attempt to find the next block on one end of the fork while other users will work from the other end of the fork. Eventually one of the forks will surpass the other in length, and the longest chain is accepted by consensus as the valid chain. Therefore, anyone who attempts to change a block must not only re-find a valid hash for each subsequent block, but must do it faster than everyone else working on the currently accepted chain. Thus, after a certain number of blocks have been chained onto a particular block, it becomes prohibitively costly to try to change that block.
Blockchains on a distributed network with sufficiently restrictive rules for creating valid blocks are fairly secure against unauthorized changes to the data stored in them. This makes blockchains particularly useful for recording financial transactions. However, the blockchains currently in use suffer from a couple of major drawbacks. The first drawback is that the rules or protocol governing data storage and interpretation and how a blockchain is propagated and verified are set and unchangeable from the time the blockchain is first created. This means that with the rapid advancement of technology, any given blockchain can quickly become obsolete, no matter how cutting edge it was at the time of creation.
The second drawback is the inability of the blockchain to accommodate forks. Any fork that is created in the blockchain is ultimately abandoned in favor of the longest chain. Because it takes a certain amount of time, on average, for each new block to be added to a blockchain, there is a practical limit to the rate at which data can be added to the chain. The ability to accommodate forks in the chain eliminates barriers to the speed at which data can be stored and may even improve the security against modification of data.
Therefore, there is a need in the art for a system and method that allows for changes and updates to the rules or protocol governing the blockchain and its data. And there is a need in the art for a system and method that can accommodate blockchain forks, allowing each side of the fork to store valid data. These and other features and advantages of the present invention will be explained and will become obvious to one skilled in the art through the summary of the invention that follows.